Multimedia server design is emerging as a key technology in the trend toward interactive multimedia services such as video-on-demand (VOD), teleshopping, digital video broadcasting and distance learning. A media server primarily acts as an engine, reading multimedia data streams from disk storage devices and delivering the streams to clients at a proper delivery rate. The multimedia bit streams are digital bit streams representing video, audio and other types of data. Each multimedia bit stream is generally delivered subject to a quality-of-service (QOS) constraint, such as average bit rate or maximum delay jitter. One of the most important performance criteria of an interactive multimedia system is the maximum number of real-time multimedia data streams that can be simultaneously supported. A media server generally must be able to deliver retrieved multimedia streams in a timely manner while simultaneously supporting real-time retrieval requests of a large number of clients. A number of different bottlenecks limit the stream retrieval and delivery capability of a media server. These bottlenecks include, for example, storage device input/output (I/O) limitations, network bandwidth restrictions, and central processing unit (CPU) processing overhead.
FIG. 1 shows an exemplary prior art video server 10 suitable for use in a multimedia data delivery system. The server 10 includes a microprocessor 12 coupled to a memory 14. A storage controller 16 directs the storage and retrieval of multimedia data streams in a disk storage device 18 which may be a multiple-disk array. The server 10 also includes a network controller which 20 serves as an interface to an access network shared by a plurality of subscribers. The microprocessor 12, storage controller 16 and network controller 20 are interconnected by a system bus 22. The network controller 20 receives requests for retrieval of stored video streams from subscribers via the access network and passes the requests via system bus 22 to the microprocessor 12. The microprocessor 12 utilizes a disk scheduling algorithm to generate retrieval instructions which are supplied to the storage controller 16 to direct the retrieval of the requested data streams from the storage device 18. The server 10 is configured to provide simultaneous retrieval of multiple stored streams in response to corresponding requests from the subscribers. The operation of video server 10 is described in greater detail in, for example, F. A. Tobagi and J. Pang, "StarWorks--A Video Application Server," IEEE COMPCON, Spring '93, pp. 4-11, and W. Tseng and J. Huang, "A High Performance Video Server For Karaoke Systems," IEEE Transactions on Consumer Electronics, Vol. 40, No. 3, August 1994, pp. 329-336. The server computer 10 of FIG. 1 suffers from a significant problem in that it generally unable to simultaneously support retrieval requests for real-time video from a large number of clients. The server 10 is instead better suited for use in local area network (LAN) applications in which a personal computer (PC) or workstation is configured to serve a relatively small number of clients.
FIG. 2 illustrates a prior art architecture for scaling a video server 10 such as that shown in FIG. 1 in order to increase the number of simultaneous data stream retrievals and thereby the number of subscribers which can be supported. The scaled server network of FIG. 2 includes m of the video servers 10-i connected to a switch network 24. The switch network 24 is connected to n of the subscribers 26-i. The switch network delivers the outputs of the video servers 10-i to the subscribers 26-i in accordance with subscriber requests and thereby provides some increase in the number of subscribers which can be supported simultaneously. However, these and other switch-based scalable servers are generally unable to provide a multimedia distribution system accessible by a sufficiently large number of subscribers.
Other prior art systems provide video-on-demand service architectures combined with network capability. Examples of such systems may be found in U.S. Pat. No. 5,442,749 issued Aug. 15, 1995 to J. D. Northcutt et al., assigned to Sun Microsystems Inc. and entitled "Network Video Server System Receiving Requests From Clients for Specific Formatted Data Through a Default Channel and Establishing Communication Through Separate Control and Data Channels," U.S. Pat. No. 5,508,732 issued Apr. 16, 1996 to J. F. Bottomley et al., assigned to IBM Corp. and entitled "Data Server, Control Server and Gateway Architecture System and Method for Broadcasting Digital Video on Demand," U.S. Pat. No. 5,521,631 issued May 28, 1996 to H. S. Budow et al., assigned to SpectraVision Inc. and entitled "Interactive Digital Video Services System With Store and Forward Capabilities," U.S. Pat. No. 5,471,318 issued November 28, 1995 to S. R. Ahuja et al., assigned to AT&T Corp. and entitled "Multimedia Communications Network," and Republic of China Patent No. 252248 851101 29-0 72228, July 1995. These other systems fail to address and solve the scalability issue and thus cannot support a sufficient number of subscribers.
As is apparent from the above, a need exists for a scalable media server architecture which may be used to implement multimedia data delivery systems supporting large numbers of subscribers and simultaneous real-time data stream retrievals.